public class TestTypeChange1 {
    public static void main(String[] args) {
        int num='a';
        System.out.println(num);
        /*
        'a'是char类型的，num是int类型的
        char占两个字节
        num占四个字节
         */
        double d=1;
        /*
        1的字面量值是int类型
        d是double类型
         */
        //编译器，看到自变量1和2的时候，如果它们被赋值给byte,short时，会判断在不在byte 和 short的范围内
        //如果在它们范围内就能正常赋值
        byte b=1;
        short s=2;

        byte b1=1;
        byte b2=2;
//        byte b3=b1+b2;
        int i=b1+b2;
        System.out.println("i = " + i);
        /*
        b1+b2升级为int，此刻b1和b2是变量，每一个变量的范围是128-127，计算可能超过byte的范围
        这里直接报错

        byte相加用的是int类型指令，所以结果是int
         */
        char c='a';
        char c1='0';
        System.out.println(c+c1);//c+c1是int，int>char，无法赋值，但是println支持的int结果
        System.out.println(d);
    }
}
